 insert into  asm_elenco_reattiva 
 
 select 
CONTRATTO,
UTENTE,
POTENZA,
tensione_prevista voltaggio,
RAGONE_SOCIALE,

asm_x_conta_contatori_3.INDIRIZZO,
asm_x_conta_contatori_3.CIVICO,
asm_x_conta_contatori_3.SUF,
asm_x_conta_contatori_3.pod,
mo.codice_modello_contatore,
case when mo.codice_modello_contatore like 'M%' then ut.matricola_contatore_1 else ut.matricola_contatore_2 end matricola_contatore,
to_char(DATA_AVVIO) data_avvio,
to_char(DATA_CHIUSURA) data_chiusura,
DB1_DB5,
STATO_CONTRATTO,
--(select distinct max(x.CODICE_UTENTE_BT) from sic4u_ambterni2.asm_gisel_exe@tiaprd x where x.pod=asm_x_conta_contatori_3.pod group by pod) Codice_circuito
 nvl( (select sum( quantita_voce) 
 from competenze_voci vo,forniture fo where vo.codice_origine_competenza ='B'
and vo.codice_gestione=fo.codice_gestione
and vo.codice_servizio =fo.codice_servizio
and fo.CODICE_CONTRATTO=vo.CODICE_RIFERIMENTO
and codice_voce in('010')
and ut.codice_allacciamento=fo.codice_allacciamento
and ut.progressivo_utenza=fo.progressivo_utenza
and vo.data_finale_voce between to_date(^Data finale voce DA ddmmaaaa;A;ALFABETICO;1^^,'ddmmyyyy') and to_date(^Data finale voce  A ddmmaaaa;A;ALFABETICO;2^^,'ddmmyyyy')
group by codice_voce,codice_allacciamento,progressivo_utenza),0) +
 nvl( (select sum( quantita_voce) 
 from db5.competenze_voci vo,db5.forniture fo where vo.codice_origine_competenza ='B'
and vo.codice_gestione=fo.codice_gestione
and vo.codice_servizio =fo.codice_servizio
and fo.CODICE_CONTRATTO=vo.CODICE_RIFERIMENTO
and codice_voce in('010')
and ut.codice_allacciamento=fo.codice_allacciamento
and ut.progressivo_utenza=fo.progressivo_utenza
and vo.data_finale_voce between to_date(^Data finale voce DA ddmmaaaa;A;ALFABETICO;1^^,'ddmmyyyy') and to_date(^Data finale voce  A ddmmaaaa;A;ALFABETICO;2^^,'ddmmyyyy')
group by codice_voce,codice_allacciamento,progressivo_utenza),0)  qta10,

  
  nvl((select sum( quantita_voce) 
 from competenze_voci vo,forniture fo where vo.codice_origine_competenza ='B'
and vo.codice_gestione=fo.codice_gestione
and vo.codice_servizio =fo.codice_servizio
and fo.CODICE_CONTRATTO=vo.CODICE_RIFERIMENTO
and codice_voce in('030')
and ut.codice_allacciamento=fo.codice_allacciamento
and ut.progressivo_utenza=fo.progressivo_utenza
and vo.data_finale_voce between to_date(^Data finale voce DA ddmmaaaa;A;ALFABETICO;1^^,'ddmmyyyy') and to_date(^Data finale voce  A ddmmaaaa;A;ALFABETICO;2^^,'ddmmyyyy')
group by codice_voce,codice_allacciamento,progressivo_utenza),0) +
  nvl((select sum( quantita_voce) 
 from db5.competenze_voci vo,db5.forniture fo where vo.codice_origine_competenza ='B'
and vo.codice_gestione=fo.codice_gestione
and vo.codice_servizio =fo.codice_servizio
and fo.CODICE_CONTRATTO=vo.CODICE_RIFERIMENTO
and codice_voce in('030')
and ut.codice_allacciamento=fo.codice_allacciamento
and ut.progressivo_utenza=fo.progressivo_utenza
--and vo.data_finale_voce between to_date('01012011','ddmmyyyy') and to_date('30042012','ddmmyyyy')
and vo.data_finale_voce between to_date(^Data finale voce DA ddmmaaaa;A;ALFABETICO;1^^,'ddmmyyyy') and to_date(^Data finale voce  A ddmmaaaa;A;ALFABETICO;2^^,'ddmmyyyy')
group by codice_voce,codice_allacciamento,progressivo_utenza),0)  qta30
  
  
  
  from asm_x_conta_contatori_3,modelli_contatore mo,utenze ut
  where (ut.codice_modello_contatore_2=CODICE_MODELLO_CONTATORE or ut.codice_modello_contatore_1=CODICE_MODELLO_CONTATORE)
  and mo.CODICE_SERVIZIO=ut.codice_servizio
  and ut.CODICE_ALLACCIAMENTO=to_number(substr(POD,7,7))
  and ut.progressivo_utenza=to_number(substr(POD,14))
  and mo.TIPO_CONTATORE in('R','CR','M4')
  and db1_db5='DB5'
  and ^E Stata Lanciata la query SOSTITUZIONE CONTATORI ? SI/NO;A;ALFABETICO;3^^='SI'